package com.ce.pms.charge.service;

import java.util.List;

import com.ce.pms.base.service.IPmsBaseService;
import com.ce.pms.charge.vo.BankVO;
import com.sitechasia.webx.core.support.Page;

/**
 * 功能描述: 划款银行service功能接口
 * <p>
 * 版权所有：中企动力
 * <p>
 * 未经本公司许可，不得以任何方式复制或使用本程序任何部分
 *
 * @author 胡煦 Create on:2008-7-30 Edit author: Edit on: 修改原因：
 *
 */

public interface IFeeBankService extends IPmsBaseService {

	/**
	 * 方法描述: 根据银行ＩＤ判断其是否被引用
	 * @author 胡煦
	 * Create on:2008-9-5
	 * @param bankId
	 * @return boolean:返回true说明未被引用，返回false则说明已经被引用
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public boolean checkBankIsUsed(Long bankId);
	/**
	 * 方法描述: 分页查询所有划款银行
	 *
	 * @author 胡煦 Create on:2008-7-30
	 * @param nameStr：
	 * @return 返回当前页的查询结果 Edit author: Edit on: 修改原因：
	 */
	public Page queryAllFeeBankByPage(int pageNo, int pageSize,String orderStr);
	/**
	 * 方法描述: 增加划款银行
	 * @author 胡煦
	 * Create on:2008-7-30
	 * @param nameStr：BankVO
	 * @return BankVO
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public BankVO addFeeBank(BankVO bankVO);

	/**
	 * 功能描述: 得到所有银行列表 <br>
	 * @return
	 *
	 * Create author:付湘辉 <br>
	 * Create on:2008-8-26  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	public List<BankVO> getAllBankList();

	/**
	 * 方法描述: 修改划款银行
	 * @author 胡煦
	 * Create on:2008-7-30
	 * @param nameStr：BankVO
	 * @return BankVO
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public BankVO editFeeBank(BankVO bankVO);
	/**
	 * 方法描述: 删除划款银行
	 * @author 胡煦
	 * Create on:2008-7-30
	 * @param nameStr：bankId
	 * @return void
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public void deleteFeeBankById(Long bankId);
	/**
	 * 功能描述:  根据划款银行ID获取划款银行VO<br>
	 * @param bankId
	 * Create author:yixianjian <br>
	 * Create on:2008-8-5  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	public BankVO getFeeBankById(Long bankId);
	/**
	 * 方法描述: 检查划款银行名称是否唯一
	 * @author 胡煦
	 * Create on:2008-7-30
	 * @param bankName
	 * @return boolean
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public boolean checkBankNameIsOnly(String bankName,Long bankId);
	/**
	 * 方法描述: 检查划款银行代码是否唯一
	 * @author 胡煦
	 * Create on:2008-7-30
	 * @param bankCode
	 * @return boolean
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public boolean checkBankCodeIsOnly(String bankCode,Long bankId);
	/**
	 * 方法描述: 检查划款银行银联代码是否唯一
	 * @author 胡煦
	 * Create on:2008-7-30
	 * @param uniteCode
	 * @return boolean
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public boolean checkUniteCodeIsOnly(String uniteCode,Long bankId);
	/**
	 * 方法描述: 检查划款银行出盘文件前缀名是否唯一
	 * @author 胡煦
	 * Create on:2008-7-30
	 * @param oFilePrefix
	 * @return boolean
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public boolean checkoFilePrefixIsOnly(String oFilePrefix,Long bankId);
	/**
	 * 方法描述: 检查划款银行中各项是否唯一
	 * @author 胡煦
	 * Create on:2008-7-30
	 * @param bankName
	 * @return boolean
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public void checkBankIsOnly(BankVO bankVO);

	/**
	 * 功能描述:检查回盘文件名的前缀和指定银行的前缀是否一致<br>
	 * @param bankId
	 * @param inPreFixFileName
	 * @return<br>
	 * Create author:罗军林<br>
	 * Create on:2008-10-7<br>
	 * Edit author:<br>
	 * Edit on:<br>
	 * Why:<br>
	 */
	public boolean checkInPreFix(Long bankId,String inPreFixFileName);

}
